.virtual-list-container {
  width: 100%;
  
  .virtual-list-wrapper {
    overflow-y: auto;
    position: relative;
    
    &::-webkit-scrollbar {
      width: 4px;
    }
    
    &::-webkit-scrollbar-track {
      background: transparent;
    }
    
    &::-webkit-scrollbar-thumb {
      background: #ddd;
      border-radius: 2px;
    }
    
    &::-webkit-scrollbar-thumb:hover {
      background: #ccc;
    }
  }
  
  .virtual-list-content {
    position: relative;
  }
  
  .virtual-list-item {
    position: absolute;
    left: 0;
    right: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    
    &:hover {
      background: #f8f9fa;
      transform: translateY(calc(var(--index) * 80px)) scale(1.02) !important;
    }
    
    .item-content {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid #f0f0f0;
      
      .item-image {
        width: 56px;
        height: 56px;
        border-radius: 8px;
        overflow: hidden;
        flex-shrink: 0;
        
        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }
      
      .item-info {
        flex: 1;
        min-width: 0;
        
        .item-title {
          font-size: 16px;
          font-weight: 600;
          color: #333;
          margin: 0 0 6px 0;
          line-height: 1.4;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
        
        .item-description {
          font-size: 14px;
          color: #666;
          margin: 0 0 8px 0;
          line-height: 1.4;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }
        
        .item-meta {
          display: flex;
          align-items: center;
          gap: 12px;
          font-size: 12px;
          
          .item-tag {
            background: #e8f4fd;
            color: #1890ff;
            padding: 2px 8px;
            border-radius: 10px;
            font-weight: 500;
          }
          
          .item-date {
            color: #999;
          }
          
          .item-views {
            color: #999;
            display: flex;
            align-items: center;
            gap: 4px;
          }
        }
      }
    }
  }
  
  .loading-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px;
    color: #666;
    font-size: 14px;
  }
}
